草庐IT

c++ - 为什么 Q_OBJECT 宏会导致问题 (Qt)?

我在OSXLion中运行QtCreator,每当我创建一个需要Q_OBJECT宏的类时,我都会在尝试构建我的应用程序时遇到错误。该类的代码如下,我收到的错误也是如此。有什么线索吗?注意:我已经尝试清理、运行qmake和重新构建都无济于事。#ifndefTASKLIST_H#defineTASKLIST_H#includeclassTaskList:publicQObject{Q_OBJECTpublic:explicitTaskList(QObject*parent=0);publicslots:voidaddTask();voiddisplayTasks();};#endif//TA

c++ - Qt:无法使用 QProcess 启动 Windows 控制台

QProcess根本不显示黑色控制台窗口。这是我使用的代码:QProcess*p=newQProcess(this);p->start("cmd.exe");用calc.exe替换cmd.exe成功启动计算器。 最佳答案 试试这个:QProcess::startDetached("cmd.exe"); 关于c++-Qt:无法使用QProcess启动Windows控制台,我们在StackOverflow上找到一个类似的问题: https://stackoverf

c++ - 共享库 QT 资源

我又遇到了另一个问题。这一次,我有一个.dll,一个包含.qrc(QT资源)文件的共享库,问题是,当我尝试访问库的资源之一时,它不起作用。我尝试实现:Q_INIT_RESOURCE(resourcefilename)它仍然无法正常工作。(它说找不到“qInitResources_resourcefilename()”。) 最佳答案 没关系。我找到了解决方案。未找到qInitResources_name()。所以,我在共享库中创建了一个函数intRmiLib::startResources(){externintqInitResour

c++ - QMainWindow 中的 QT 4.8 填充

我开始学习QT。当我创建一个MainWindow并在其上放置一些小部件时,窗口边缘和小部件之间存在间隙,如下所示:我怎样才能消除这种差距?layout()->setContentsMargins(0,0,0,0);和编辑窗口的样式表,但没有效果。我该怎么办? 最佳答案 QMainWindow与QDialog或QWidget略有不同,因为它具有“中央小部件”的概念。该窗口具有预定义的区域来处理工具栏、菜单和停靠栏等内容,并将中央小部件定义为窗口的主要内容。窗口本身通常不分配布局。但我假设您正在做的是在窗口布局上设置值(这不会产生影响)

c++ - Qt - 禁用单元格编辑

我有一个QTableView(基于模型),我想禁用特定单元格的编辑功能,比方说第0行,第1列。我该怎么做?请注意,我仍希望启用此行中的其他单元格进行编辑。 最佳答案 如果您使用的是自定义表模型,则可以实现Qt::ItemFlagsQAbstractItemModel::flags(constQModelIndex&index)const方法并返回一组标志,其中没有为您不想编辑的单元格设置Qt::ItemIsEditable标志。假设MyTableModel继承自QAbstractTableModel:Qt::ItemFlagsMyT

c++ - 有没有办法在没有 QApplication::exec() 的情况下使用 Qt?

有没有一种不用调用QApplication::exec()就可以安全使用Qt的方法?我有许多不同的对象在多个资源上执行长期进程(至少其中一个正在与Web应用程序服务器通信)。我正在制作一个GUI应用程序,提示用户在正确的时间为这些不同的进程输入。我希望将我的“流”逻辑——决定下一步做什么的逻辑——放在一个地方,而不是像对话框类那样放在GUI对象中。我在想我可以做这样的事情:...wait_dialogdlg;dlg.setModal(false);dlg.show();//Shouldreturn...netobject.start_long_lived_process_that_ha

c++ - Qt 用户自定义热键

我正在尝试设计一个带有用户自定义热键的QtGUI应用程序。我遇到的主要问题是如何在应用程序中同步热键,因为多个小部件/组件可能会使用特定的热键(例如,复制)。我目前的策略是使用一个引用类,该类包含每个不同热键的QKeySequence对象列表。每个小部件都必须有一种方法来引用这个主列表,并具有低级keyPressEvent的自定义实现,它将比较输入的键与热键。不过,我不是特别喜欢这种策略,因为它需要在每个小部件中进行大量的重新实现,感觉就像我在重新发明轮子。我还尝试使用QAction对象,它可以在内部保存QKeySequence快捷方式,然后使用这些来触发我可以使用插槽和信号处理的更高

c++ - 用于非 UI 应用程序的 Qt?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我希望将Qt用于非UI应用程序。它有可能在设备上运行,但会在桌面上启动。UI部分(我知道,我说的是非UI)将是一个带有HTML(5)/AJAX的Web服务器。我真的只会将Qt用于基本的跨平台内容,如线程、同步、序列化、资源(字符串,可能是图像)、国际化等。对于这样的事情,Qt或Boost以及我自己创建跨平台层哪个更好?Qt对于我需要的感觉有点沉重,但我想

c++ - MinGW 4.7.2 的 Qt 应用程序段错误

使用MinGW4.7.2每个编译的Qt4应用程序都会崩溃-甚至是之前运行的程序。MinGW:4.7.2QT:4.8.3使用的库:QtCore4.dllQtCored4.dllQtGui4.dll(用在gui上)QtGuid4.dll(用于gui)以简单程序为例:#includeintmain(intargc,char*argv[]){QApplicationapp(argc,argv);/*Crashhere*/returnapp.exec();}崩溃:收到信号:SIGSEGV(段错误)调用堆栈:ZN23QCoreApplicationPrivate27processCommandLi

c++ - 模型中的 Qt 模型?

我有一个Qt模型,它很可能是一个QAbstractListModel。每个“行”代表我存储在QList中的一个对象。我在ListView的QML中显示它。但是,每个对象都有一个恰好是字符串数组的属性。我想在显示该行的委托(delegate)中将其显示为ListView。但我不知道如何将该模型(针对对象的字符串数组属性)公开给QML。我无法通过数据函数公开它,因为模型是QObjects,而不能是QVariants。我考虑过使用QAbstractItemModel,但我仍然不知道如何为我的ListView获取模型。以防万一,我使用的是Qt5.0.0版本。 最佳答